Block diagrams enable complex systems to be modeled in a block diagram environment. In a block diagram environment, such as Simulink® from The MathWorks of Natick, Mass., a block diagram model holds data representing system component attributes and functionality. The block diagram model is frequently represented in a block diagram view of the model. The block diagram view includes multiple blocks representing the system components as well as lines between blocks representing logical or physical connections between system components. The block diagram model may also be used to simulate the execution of the system being modeled. The results of the simulation may be presented with a basic two dimensional animation of the system being modeled. A more realistic three-dimensional animation of the system being modeled may also be presented to a user.
FIG. 1A (prior art) represents a block diagram 2 of a system being modeled, a four cylinder engine. The block diagram contains information about system components and connections between components that may be used by a simulator to run a simulation of the execution of the system. An animated depiction of the system being modeled may be displayed to a viewer during the simulation. An example of the animation of a system simulation may be seen in FIG. 1B (prior art), which represents a three-dimensional view 4 of the four cylinder engine represented in the block diagram 2. The three dimensional view 4 is produced by The Virtual Reality Toolbox™ for MATLAB®. The Virtual Reality Toolbox™ may also be used with SimMechanics™. SimMechanics™ is a mechanical body modeling application used in conjunction with Simulink®.
A three-dimensional view of a system being modeled enables a user to connect bodies together, position the bodies, and orient the bodies in relationship to each other during construction and editing of a model when connected to a block diagram design environment. The three-dimensional view alleviates the need for extensive knowledge of the coordinate systems frequently required for the block diagram view of the system. It should be noted that although the term “three-dimensional” is used herein, the term “three-dimensional” refers to the impression of three-dimensions given to a user observing the view of the system being modeled. Those skilled in the art will understand that the three dimensional view of the system is frequently rendered on a two-dimensional display surface and is rendered so as to give the impression of a third-dimension (i.e., depth) on the two-dimensional surface. In the block diagram view, such as that shown in FIG. 1A, it is frequently easier to create large hierarchical designs and/or use complicated force laws using Simulink® or SimMechanics than it is to create such designs or model such forces in a three-dimensional environment. However, conversely it is frequently more difficult to visualize the inter-relationship of the various components of a system being modeled. Unfortunately, conventional block diagram environments do not allow a user to easily transition from a three-dimensional view of a system being modeled to a block diagram view of the system so as to utilize the positive aspects of both design environments.